// src/router/index.ts 或 index.js
import { createWebHistory, createRouter } from 'vue-router'
import Layout from '@/layout'
const HOME = '/dashboard'
/** 公共路由 */
export const constantRoutes = [
  /** 1) 大屏：首页（不在 Layout 里） */
  {
    path: '/dashboard',
    component: () => import('@/views/Echarts/dashboard.vue'),
    name: 'Dashboard',
    meta: { title: '首页', icon: 'dashboard', affix: true }
  },

  /** 2) 根路径统一重定向到大屏 */
  { path: '/', redirect: HOME },
  { path: '/index', redirect: HOME },

  {
  path: '/app',
  component: Layout,
  children: [
    {
      path: '/SysTanks',                               // 实际访问地址
      alias: ['/app/SysTanks'],                        // 兼容老菜单链接，防止 404
      component: () => import('@/views/SysTanks/SysTanks/index.vue'),
      name: 'SysTanks',
      hidden: true,                                    // ✅ 关键：不在侧边栏展示
      meta: { title: '养殖桶' }
    }
  ]
},


  /** redirect 专用页（保持不变） */
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      { path: '/redirect/:path(.*)', component: () => import('@/views/redirect/index.vue') }
    ]
  },

  /** 登录/注册/错误页 */
  { path: '/login', component: () => import('@/views/login'), hidden: true },
  { path: '/register', component: () => import('@/views/register'), hidden: true },
  { path: '/401', component: () => import('@/views/error/401'), hidden: true },

  /** 用户中心（保留） */
  {
    path: '/user',
    component: Layout,
    hidden: true,
    redirect: 'noredirect',
    children: [
      {
        path: 'profile/:activeTab?',
        component: () => import('@/views/system/user/profile/index'),
        name: 'Profile',
        meta: { title: '个人中心', icon: 'user' }
      }
    ]
  },

  /** 404 一定放到最后 */
  { path: '/:pathMatch(.*)*', component: () => import('@/views/error/404'), hidden: true }
]

/** 动态路由（保持你的原样，可按需增删） */
export const dynamicRoutes = [
  {
    path: '/system/user-auth',
    component: Layout,
    hidden: true,
    permissions: ['system:user:edit'],
    children: [
      {
        path: 'role/:userId(\\d+)',
        component: () => import('@/views/system/user/authRole'),
        name: 'AuthRole',
        meta: { title: '分配角色', activeMenu: '/system/user' }
      }
    ]
  },
  {
    path: '/system/role-auth',
    component: Layout,
    hidden: true,
    permissions: ['system:role:edit'],
    children: [
      {
        path: 'user/:roleId(\\d+)',
        component: () => import('@/views/system/role/authUser'),
        name: 'AuthUser',
        meta: { title: '分配用户', activeMenu: '/system/role' }
      }
    ]
  },
  {
    path: '/system/dict-data',
    component: Layout,
    hidden: true,
    permissions: ['system:dict:list'],
    children: [
      {
        path: 'index/:dictId(\\d+)',
        component: () => import('@/views/system/dict/data'),
        name: 'Data',
        meta: { title: '字典数据', activeMenu: '/system/dict' }
      }
    ]
  },
  {
    path: '/monitor/job-log',
    component: Layout,
    hidden: true,
    permissions: ['monitor:job:list'],
    children: [
      {
        path: 'index/:jobId(\\d+)',
        component: () => import('@/views/monitor/job/log'),
        name: 'JobLog',
        meta: { title: '调度日志', activeMenu: '/monitor/job' }
      }
    ]
  },
  {
    path: '/tool/gen-edit',
    component: Layout,
    hidden: true,
    permissions: ['tool:gen:edit'],
    children: [
      {
        path: 'index/:tableId(\\d+)',
        component: () => import('@/views/tool/gen/editTable'),
        name: 'GenEdit',
        meta: { title: '修改生成配置', activeMenu: '/tool/gen' }
      }
    ]
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes: constantRoutes,
  scrollBehavior(to, from, savedPosition) {
    if (savedPosition) return savedPosition
    return { top: 0 }
  }
})

export default router


